1. Field of the Invention
The present invention relates generally to systems and methods for voice and data communication, and more particularly to real-time data and voice transmission over an internet network.
2. Discussion of Background Art
The internet is becoming an ever more integrated part of our industrial, commercial and domestic economy. As a result, there is a continuing push for any technology which expands the internet""s performance envelope. In the past, most of the data transmitted over the internet consisted of text files of varying size. Routers, which route data over the internet, were thus designed to transmit large amounts of data, such as text files, in as short of an amount of time as possible (these are called xe2x80x9cburst-modexe2x80x9d transmissions). While burst-mode transmissions may be the most efficient method for transmitting such files, such transmissions are not as efficient for transmitting other types of data, such as voice data.
Today, there is an increasing demand for systems and methods for transmitting voice data over the internet. Current Voice Over the Internet (VOI) systems receive real-time voice conversations from Public Switched Telephone Networks (PSTNs). These conversations are then sampled, packetized, and transmitted as voice data over the internet. Voice Over the Internet Protocols (VOIPs) standardize the method for sampling, packetizing and transmitting these conversations.
In contrast to text files, voice data is currently transmitted over the internet as a continuous stream of small data packets. A problem with current VOI systems, however, is that they either tend not to be very clear or they tend to suffer from latency problems. A latency problem is when there is a noticeable delay between when a word is spoken by a first user and when that same word is heard by a second user. VOI systems are particularly sensitive to the latency problems caused by packet transmission delays since users are accustomed to holding voice conversations in real-time, and any added delay tends to break up a conversation.
In an attempt to reduce latency, a voice conversation may be broken up into a large number of relatively small packets that are continuously sent over the internet. Each one of these packets, however, carries a set of overhead bytes for routing the packet to a particular gateway and a particular PSTN. This overhead is fixed, regardless of the packet size, creating a xe2x80x9cfixed-costxe2x80x9d problem. Thus, as the packet size is reduced further in an attempt to decrease latency, the overhead bytes become an increasing percentage of the data packet sent. Such a high percentage of overhead noticeably contributes to congestion over the internet and thus increases the voice conversation""s latency.
To reduce the percentage of overhead associated with a packet, an alternative is to encode a voice conversation into larger packets of voice data. Utilizing larger packets does reduce the percentage of overhead associated with a fixed amount of voice data; however, the latency of the packet is increased since the packet is not sent until the larger amount of voice data is accumulated. Such an approach tends to result in discontinuous and choppy sounding conversations.
Thus, currently there is a tension between sending smaller sized packets having a greater percentage of overhead and creating high levels of internet traffic, and sending larger packets which tend to chop up the conversations.
Regardless of the encoding method used, as VOI conversations become more and more popular due to their relatively low cost, the number of digital voice packets will exponentially increase. Current VOI systems such as those using xe2x80x9cTrueSpeech 8.5,xe2x80x9d manufactured by DSP Group, Inc. of Santa Clara, Calif. breaks conversations into 30 msec packets that are delivered over the internet at a 12.5 kbps rate (including transmission overhead) with 170 msecs of latency. One-hundred and twenty ports of VOI at a 30 msec frame rate will deliver approximately 4000 Packets Per Second (PPS) over the internet. In the future, G.723.1 compliant VOI systems will deliver 30 msec packets at a 10.5 kbps rate with 100 msec latency, and G.729A compliant VOI systems will deliver 20 msec packets at a 12 kbps rate with 90 msec of latency. Those same one-hundred and twenty ports of VOI at a 20 msec frames will deliver over 6,000 PPS over the internet. Thus as VOI grows, eventually millions of packets will be transmitted over the internet, severely taxing the internet""s data throughput capacity.
Adding to VOI""s current difficulties, existing routers tend to send packets over the internet using many different routes of indeterminate length. This indeterminacy degrades VOI systems since there is not a predictable packet arrival time or order.
The price for the several shortcomings just discussed is a higher packet drop rate and an excessive packet routing delay.
In response to the concerns discussed above, what is needed is an apparatus and method for real-time data and voice transmission over the internet that overcomes the problems of the prior art.
The present invention is a system and method for real-time data and voice transmission over an internet network. The transmission begins at an originating phone where an analog signal is conventionally communicated to a public system telephone network (PSTN). Analog packets are then generated and transmitted to a gateway where the analog PSTN voice packets are digitized. A destination gateway and destination transmux are then identified and communicated to the gateway over a separate TCP/IP link. The destination gateway address and destination transmux address are appended to the voice packet in the gateway, and the packets are then aggregated and transmitted to an originating transmux. Gateway voice packets are received from the gateway in the transmux and broken into gateway subpackets. The gateway subpackets are aggregated by their destination transmux address. The destination transmux addresses are then removed from the gateway subpackets and the transmux voice packet is then transmitted across an internet network to a destination transmux. Within the destination transmux, the transmux voice packets are received and broken into transmux subpackets. These transmux subpackets are sorted and aggregated by their destination gateway addresses. Unneeded destination gateway addresses are then removed and the destination voice packets are then transmitted to a destination gateway. Within the destination gateway, the destination voice packets are received and converted to analog voice packets and transmitted to a destination PSTN. Once at the destination PSTN, the voice packets are then converted for transmission to a destination phone.